de.cebis.moccabox.application.request
Class TaskRequestHistoryImpl

java.lang.Object
  extended by de.cebis.moccabox.application.request.TaskRequestHistoryImpl
All Implemented Interfaces:
ITaskRequestHistory, java.io.Serializable

public class TaskRequestHistoryImpl
extends java.lang.Object
implements ITaskRequestHistory, java.io.Serializable

Klasse, die die Historie der ITaskRequest eines Anwenders und die möglichen Zugriffsmethoden darauf kapselt. Es können mehrere ITaskRequest auf den Stack gelegt werden, die anschließend wieder heruntergenommen werden, wenn sich der Anwender entlang seiner Historie wieder zurückbewegt.

Jeder Aufruf (Request) des Anwenders wird in der Historie nach dem LIFO-Prinzip (last-in first-out) abgelegt und muss beim Zurückgehen wieder entfernt werden. Es handelt sich um denselben Aufruf, wenn der Anwender erneut das selbe Kommando zum Ausführen übergibt. In diesem Fall wird der letzte Aufruf desselben Kommandos überschrieben anstatt den neuen Aufruf hinzuzufügen.

Author:
weichelt
See Also:
Serialized Form

Constructor Summary
TaskRequestHistoryImpl(int size)
          Konstruktor zum Erzeugen eines neuen TaskRequestHistoryImpl.
 
Method Summary
 void clean()
          Bereinigen der Historie und löschen aller ITaskRequest.
 void cleanCurrentTaskRequest()
          Entfernt den aktuellen ITaskRequest, der als nächstes auf den Stack geschrieben würde.
 ITaskRequest getCurrentTaskRequest()
          Zurückliefern des aktuellen ITaskRequest.
 ITaskRequest getTaskRequest(int negativOffset)
          Zurückliefern des ITaskRequest an einer bestimmten Position des Stack der Historie.
 java.util.Iterator iterator()
          Zurückliefern eines Iterator über alle Einträge der Historie.
 ITaskRequest popTaskRequest()
          Zurückliefern des obersten ITaskRequest auf dem Stack.
 void pushTaskRequest(ITaskRequest request)
          Ablegen eines neuen ITaskRequest auf dem Stack der Historie.
 void setCurrentTaskRequest(ITaskRequest request)
          Setzen des aktuellen ITaskRequest.
 int size()
          Zurückliefern der Anzahl an ITaskRequest, die auf dem Stack liegen.
 java.lang.String toString()
          Ausgeben der Einträge in der Historie als '-'-separierte String-Liste.
 void updateTaskRequest(ITaskRequest request)
          Ersetzen eines ITaskRequest für ein bestimmtes Kommando durch einen aktualisierten ITaskRequest für dasselbe Kommando.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

TaskRequestHistoryImpl

public TaskRequestHistoryImpl(int size)
Konstruktor zum Erzeugen eines neuen TaskRequestHistoryImpl.

Parameters:
size - Anzahl der Einträge, die die Historie fassen kann.
Method Detail

getTaskRequest

public ITaskRequest getTaskRequest(int negativOffset)
Description copied from interface: ITaskRequestHistory
Zurückliefern des ITaskRequest an einer bestimmten Position des Stack der Historie.

Specified by:
getTaskRequest in interface ITaskRequestHistory
Parameters:
negativOffset - Bestimmt, der wievielte ITaskRequest von oben vom Stack zurückgeliefert werden soll (oberster = 0; darunter = -1; usw.). Alle darüber liegenden ITaskRequest werden vom Stack entfernt.
Returns:
Der

size

public int size()
Description copied from interface: ITaskRequestHistory
Zurückliefern der Anzahl an ITaskRequest, die auf dem Stack liegen. Bestimmt die Anzahl der Schritte, die in der Historie zurückgegangen werden können.

Specified by:
size in interface ITaskRequestHistory
Returns:
Größe des Stack.

popTaskRequest

public ITaskRequest popTaskRequest()
Description copied from interface: ITaskRequestHistory
Zurückliefern des obersten ITaskRequest auf dem Stack.

Specified by:
popTaskRequest in interface ITaskRequestHistory
Returns:
Der ITaskRequest, der zuletzt auf den Stack gelegt wurde.

pushTaskRequest

public void pushTaskRequest(ITaskRequest request)
Description copied from interface: ITaskRequestHistory
Ablegen eines neuen ITaskRequest auf dem Stack der Historie.

Specified by:
pushTaskRequest in interface ITaskRequestHistory
Parameters:
request - Der abzulegende ITaskRequest.

updateTaskRequest

public void updateTaskRequest(ITaskRequest request)
Description copied from interface: ITaskRequestHistory
Ersetzen eines ITaskRequest für ein bestimmtes Kommando durch einen aktualisierten ITaskRequest für dasselbe Kommando.

Specified by:
updateTaskRequest in interface ITaskRequestHistory
Parameters:
request - Der ITaskRequest, der einen vorhandenen mit demselben Kommando aktualisieren soll.

iterator

public java.util.Iterator iterator()
Description copied from interface: ITaskRequestHistory
Zurückliefern eines Iterator über alle Einträge der Historie.

Specified by:
iterator in interface ITaskRequestHistory
Returns:
Iterator über die Einträge der Historie.

clean

public void clean()
Description copied from interface: ITaskRequestHistory
Bereinigen der Historie und löschen aller ITaskRequest.

Specified by:
clean in interface ITaskRequestHistory

setCurrentTaskRequest

public void setCurrentTaskRequest(ITaskRequest request)
Description copied from interface: ITaskRequestHistory
Setzen des aktuellen ITaskRequest. Dieser ist noch nicht auf dem Stack, sondern lediglich der nächste Request, der auf den Stack gelegt wird, sobald ein neuer aktueller Request gesetzt wird, der ein anderes Kommando enthält als das des CurrentRequest. Ist das Kommando dasselbe, so wird der aktuelle ITaskRequest lediglich aktualisiert, aber nicht in die Historie geschrieben.

Specified by:
setCurrentTaskRequest in interface ITaskRequestHistory
Parameters:
request - Der aktuelle ITaskRequest.

getCurrentTaskRequest

public ITaskRequest getCurrentTaskRequest()
Description copied from interface: ITaskRequestHistory
Zurückliefern des aktuellen ITaskRequest. Dieser ist noch nicht Teil der Historie sondern der Request, der aktuell vom Anwender ausgeführt wird.

Specified by:
getCurrentTaskRequest in interface ITaskRequestHistory
Returns:
Der aktuelle ITaskRequest.

toString

public java.lang.String toString()
Ausgeben der Einträge in der Historie als '-'-separierte String-Liste.

Overrides:
toString in class java.lang.Object
Returns:
Liste der Einträge.

cleanCurrentTaskRequest

public void cleanCurrentTaskRequest()
Description copied from interface: ITaskRequestHistory
Entfernt den aktuellen ITaskRequest, der als nächstes auf den Stack geschrieben würde.

Specified by:
cleanCurrentTaskRequest in interface ITaskRequestHistory